import axios from "axios";
import router from "@/router";
// import ElementUI from "element-ui";

//创建一个新的axios对象
const request =axios.create({
    baseURL: 'http://localhost:8080',
    timeout: 300000,
})

//request 拦截器
//可以在请求发送前对请求做一些处理，如统一加token，对请求参数统一加密
request.interceptors.request.use(config =>{
    config.headers['Content-Type']='application/json;charset=utf-8';
    let user=localStorage.getItem("user") ? JSON.parse(localStorage.getItem("user")) : null
    config.headers['token']=user?.token; //设置请求头   ?.表示若user对象不为null时才取其中的成员
    return config
});

//response拦截器，在接口响应后统一处理结果
request.interceptors.response.use(
    response=>{
        let res=response.data;
        //兼容字符串数据
        if(typeof res==='string'){
            res=res?JSON.parse(res):res
        }
        if(res.code==='401'){
            router.push('login')
        }
        // if(res.code!=='200') {
        //     this.$message.error(res.msg)
        // }
        return res;
    },
    error => {
        console.error('response error: '+error)
        return Promise.reject(error)
    }
)

export default request